package com.ruoyi.kafka.config;

import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @ClassName KafkaTopicConfig
 * @Description
 * 在应用启动时，自动在 Kafka 创建 orders 主题（3 分区，1 副本）用于订单消息。
 * 同时创建 orders.DLT 死信主题，用于保存处理失败的订单消息，保证消息可靠性和可追溯性。
 * @Author li yang
 * @Date 2025/9/18 16:30
 * @Version 1.0
 */
@Configuration
public class KafkaTopicConfig {

    /**
     * 订单主题
     **/
    @Bean
    public NewTopic orders() {
        return new NewTopic("orders", 3, (short) 1);
    }

    /**
     * 死信主题
     **/
    @Bean
    public NewTopic ordersDlt() {
        return new NewTopic("orders.DLT", 3, (short) 1);
    }
}
